import torch
import torch.nn as nn

def dm01_rnn_base():
    # 输入维度 输出维度 隐藏层个数
    rnn = nn.RNN(5,6,1)
    print('rnn--->',rnn)
    # 单词数 批次(句子数) 输入维度
    input = torch.randn(1,3,5)
    # 隐藏层个数 批次(句子数) 输出维度
    h0 = torch.randn(1,3,6)
    # output[1,3,6] 单词数 批次(句子数)  输出维度，hn同h0
    output,hn = rnn(input,h0)
    print('output-->',output.shape)
    print('hn-->',hn.shape)
    print(output)


def dm02_rnn_for_inputdim():
    # 输入维度 输出维度 隐藏层个数
    rnn = nn.RNN(55,6,1)
    print('rnn--->',rnn)
    # 单词数 批次(句子数) 输入维度
    input = torch.randn(1,3,55)
    # 隐藏层个数 批次(句子数) 输出维度
    h0 = torch.randn(1,3,6)
    # output[1,3,55] 单词数 批次(句子数)  输出维度，hn同h0
    output,hn = rnn(input,h0)
    print('output-->',output.shape)
    print('hn-->',hn.shape)
    print(output)


if __name__ == '__main__':
    dm02_rnn_for_inputdim()